<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:p="http://primefaces.org/ui">

    <p:panelGrid id="pnlFindOrden" style="width:100%;text-align:left">
        <p:row>
            <p:column>
                <h:outputLabel id="lblArticulo" value="ARTICULO(*): " class="lblForm" />
            </p:column>
            <p:column>
                <p:selectOneMenu id="cbxArticulo" required="true" value="#{BKCompAddArticuloStock.detalleGuiaFormulario.articulo.id}" 
                                 panelStyle="width:450px" style="width: 450px" panelStyleClass="print"
                                 filter="#{BKCompAddArticuloStock.listaArticulos.size() > 10}" filterMatchMode="contains"> 
                    <f:selectItem itemLabel="Seleccionar" itemValue="0" /> 
                    <f:selectItems value="#{BKCompAddArticuloStock.listaArticulos}" var="articulo"
                                   itemLabel="#{articulo.nombreComercial}" itemValue="#{articulo.id}"/>
                    <p:ajax listener="#{MBCompAddArticuloStock.elegirArticuloEntrada}" update="txtPedido,txtRecibido,cbxPartida1,txtUnidadMedida,dataMateriales" />
                </p:selectOneMenu>
                <p:message for="cbxArticulo" display="text"/>
            </p:column>
        </p:row>

        <p:row>
            <p:column>
                <h:outputLabel id="lblPedido" value="PEDIDO: " class="lblForm" />
            </p:column>
            <p:column>
                <h:outputText id="txtPedido" value="#{BKCompAddArticuloStock.cantidadPedido} " >
                    <f:convertNumber maxFractionDigits="2" groupingUsed="false" minFractionDigits="2" />
                </h:outputText>
            </p:column>
        </p:row>

        <p:row>
            <p:column>
                <h:outputLabel id="lblRecibido" value="RECIBIDO: " class="lblForm" />
            </p:column>
            <p:column>
                <h:outputText id="txtRecibido" value="#{BKCompAddArticuloStock.cantidadRecibido} " >
                    <f:convertNumber maxFractionDigits="2" groupingUsed="false" minFractionDigits="2" />
                </h:outputText>
            </p:column>
        </p:row>

        <p:row>
            <p:column>
                <h:outputLabel id="lblPartida" value="PARTIDA/LOTE: " class="lblForm" />
            </p:column>
            <p:column>
                <p:inputText onkeyup="cambiarMayuscula(this)" rendered="#{BKCompAddArticuloStock.guiaFormulario.idOrdenCompraServicio.crearPartidas eq 0}"
                             value="#{BKCompAddArticuloStock.detalleGuiaFormulario.partidaLote}" id="cbxPartida" required="true" />
                <p:selectOneMenu id="cbxPartida1" value="#{BKCompAddArticuloStock.detalleGuiaFormulario.partidaLote}" panelStyleClass="print" required="true"
                                 rendered="#{BKCompAddArticuloStock.guiaFormulario.idOrdenCompraServicio.crearPartidas eq 1}"
                                 panelStyle="width:450px" style="width: 450px" filter="#{BKCompAddArticuloStock.listaPartida.size() > 10}" filterMatchMode="contains"> 
                    <f:selectItem itemLabel="Seleccionar" itemValue="" /> 
                    <f:selectItems value="#{BKCompAddArticuloStock.listaPartida}" var="partida"
                                   itemLabel="#{partida}" itemValue="#{partida}" />
                </p:selectOneMenu>
                <p:message for="cbxPartida" display="text" />
                <p:message for="cbxPartida1" display="text" />
            </p:column>
        </p:row>

        <p:row>
            <p:column>
                <h:outputLabel id="lblUM" value="UNIDAD MEDIDA(*): " class="lblForm" />
            </p:column>
            <p:column>
                <h:outputLabel id="txtUnidadMedida" value="#{BKCompAddArticuloStock.detalleGuiaFormulario.tipoUnidadMinima.abrev} " />
            </p:column>
        </p:row>

        <p:row>
            <p:column>
                <h:outputLabel id="lblCantidad" value="PESO/TOTAL(*): " class="lblForm" />
            </p:column>
            <p:column>
                <p:inputText onkeyup="cambiarMayuscula(this)" id="txtCantidad" value="#{BKCompAddArticuloStock.detalleGuiaFormulario.cantidad}" required="true"
                             validatorMessage="Debe ser mayor a 0">
                    <f:validateDoubleRange minimum="0.01"  />
                </p:inputText>
                <p:message for="txtCantidad" display="text" id="msgCantidad"/>
            </p:column>
        </p:row>

        <p:row>
            <p:column>
                <h:outputLabel id="lblEmpaques" value="CANTIDAD(*): " class="lblForm" />
            </p:column>
            <p:column>
                <p:inputText onkeyup="cambiarMayuscula(this)" value="#{BKCompAddArticuloStock.detalleGuiaFormulario.cantidadEmpaque}" id="txtEmpaques"
                             style="float: left;"/>
                <p:selectOneMenu  id="txtUnidadVenta" style="float: left;" editable="true"
                                  value="#{BKCompAddArticuloStock.detalleGuiaFormulario.empaque}">                              
                    <f:selectItem itemLabel="Seleccione" itemValue="" />  
                    <f:selectItem itemLabel="ROLLO" itemValue="ROLLO" />  
                    <f:selectItem itemLabel="BOLSA" itemValue="BOLSA" />  
                </p:selectOneMenu> 
            </p:column>
        </p:row>

        

        <p:row>
            <p:column style="text-align:center" colspan="2">
                <p:separator />  
            </p:column>
        </p:row>
        <p:row>
            <p:column colspan="1">
                <h:outputLabel value="MATERIAL UTILIZADO(*): " class="lblForm" /> 
            </p:column>
        </p:row>
        <p:row>

            <p:column style="text-align:center" colspan="2">
                <p:dataTable id="dataMateriales" var="art" lazy="true"
                             value="#{BKCompAddArticuloStock.listaArticulosStock}"
                             emptyMessage="No exsiten materiales enviados"
                             selection="#{BKCompAddArticuloStock.selectedArticulos}" >
                    
                    <p:column selectionMode="multiple" style="width:5%" /> 

                    <p:column id="idColumnaArticulo" style="width: 40%"
                              sortBy="#{art.articulo.nombreComercial}" 
                              headerText="Articulo">
                        <h:outputText value="#{art.articulo.nombreComercial}" />
                    </p:column>

                    <p:column id="columnaPartida" style="width: 25%"
                              sortBy="#{art.partidaLote}" 
                              headerText="Partida/Lote">
                        <h:outputText value="#{art.partidaLote}" />
                    </p:column>

                    <p:column id="columnaCantidad" style="width: 25%"
                              sortBy="#{art.caStockDisponible}"
                              headerText="Cantidad">
                        <h:outputText value="#{art.caStockDisponible}" />
                    </p:column>

                    <p:column id="columnaValor" style="width: 25%" rendered="false"
                              sortBy="#{art.vaCosto}" headerText="Valor">
                        <h:outputText value="#{art.vaCosto}" />
                    </p:column>

                </p:dataTable>
            </p:column>
        </p:row>
        <p:row>

            <p:column style="text-align:center" colspan="2">

            </p:column>
        </p:row>

        <p:row>

            <p:column colspan="2">
                <p:commandButton id="btnAceptarMat" value="Comprobar Material"  actionListener="#{MBCompAddArticuloStock.procesarMaterial}"
                                 process="@this dataMateriales txtCantidad" update="txtResultado txtCantidad msgCantidad btnAceptarArt txtNota"  >                
                </p:commandButton>

            </p:column>
        </p:row>
        <p:row>
            <p:column style="text-align:center" colspan="2">
                <p:separator />  
            </p:column>
        </p:row>
        <p:row>
            <p:column style="text-align:center" colspan="2">
                <p:commandButton id="btnAceptarArt" value="Agregar"  actionListener="#{MBCompAddArticuloStock.agregarDetalle}"
                                 process="@this pnlFindOrden" update="#{BKCompAddArticuloStock.update}" 
                                 disabled="#{BKCompAddArticuloStock.estaProcesado?false:true}"
                                 oncomplete="if (args.validationFailed){ #{BKCompAddArticuloStock.nombreDialog}.show()} else {#{BKCompAddArticuloStock.nombreDialog}.hide()}" />
                <p:commandButton id="btnCancelarArt" value="Cancelar" type="button"
                                 onclick="#{BKCompAddArticuloStock.nombreDialog}.hide()" />
            </p:column>
        </p:row>

        <p:row>

            <p:column colspan="2">
                <h:outputText id="txtResultado" value="#{BKCompAddArticuloStock.mensajeResultado}"
                              style="color: #{BKCompAddArticuloStock.estaProcesado?'blue':'red'}"/><br />
                <h:outputText id="txtNota" value="#{BKCompAddArticuloStock.mensajeNota}" escape="false"
                              style="color: red"/>

            </p:column>
        </p:row>



    </p:panelGrid>

</html>